home *** CD-ROM | disk | FTP | other *** search
/ Aminet 40 / Aminet 40 (2000)(Schatztruhe)[!][Dec 2000].iso / Aminet / misc / emu / ATUtilities.lha / ATUtilities / TURBOSYS.DEF < prev    next >
Text File  |  2000-09-26  |  6KB  |  265 lines

  1. (*$S-, $R-, $A-, $T- *)
  2. DEFINITION MODULE TurboSys;
  3.  
  4. FROM SYSTEM IMPORT ADDRESS;
  5.  
  6.  
  7. CONST interruptVector       = 0F1H;
  8.       memoryVector          = 0F2H;
  9.  
  10.       boolGadget   = 0;
  11.       toggleGadget = 1;
  12.       strGadget    = 2;
  13.       intGadget    = 3;
  14.       propGadget   = 4;
  15.  
  16. TYPE
  17.  STRING = POINTER TO ARRAY [0..79] OF CHAR;
  18.  
  19.  
  20.  WindowPtr      = POINTER TO Window;
  21.  TurboDOSPtr    = POINTER TO TurboDOS;
  22.  SysMsgPtr      = POINTER TO SysMsg;
  23.  MenuPtr        = POINTER TO Menu;
  24.  GadgetPtr      = POINTER TO Gadget;
  25.  
  26.  
  27.  WindowFlags    = (windowClose,windowDepth,windowSizing,windowDrag,
  28.                    wf4,wf5,wf6,wf7,wf8,wf9,wf10,wf11,wf12,wf3,wf14,
  29.                    requester);
  30.  WindowFlagSet  = SET OF WindowFlags;
  31.  SysMsgClasses  = (activateWindow,closeWindow,moveWindow,sizeWindow,
  32.                    gadgetUp,menuPick,keyboard,sc7,
  33.                    sc8,sc9,sc10,sc11,sc12,sc13,sc14,noWindow);
  34.  SysMsgClassSet = SET OF SysMsgClasses;
  35.  MouseButtons   = (left,right,mid,
  36.                    mb3,mb4,mb5,mb6,mb7,mb8,mb9,mb10,mb11,mb12,mb13,mb14,mb15);
  37.  MouseButtonSet = SET OF MouseButtons;
  38.  ItemFlags      = (checkit,checked,disabled,menuBar,
  39.                    if4,if5,if6,if7,if8,if9,if10,if11,if12,if13,if14,if15);
  40.  ItemFlagSet    = SET OF ItemFlags;
  41.  
  42.  
  43.  Gadget = RECORD
  44.   nextGadget  : GadgetPtr;
  45.   leftEdge,
  46.   topEdge,
  47.   width,
  48.   height      : CARDINAL;
  49.   text        : ARRAY [0..29] OF CHAR;
  50.   type        : CARDINAL;
  51.   id          : CARDINAL;
  52.   enabled     : BOOLEAN;
  53.   buffer      : STRING;
  54.   help        : ARRAY [0..59] OF CHAR;
  55.   selected    : BOOLEAN;
  56.   propV       : BOOLEAN;
  57.   propMax,
  58.   propPos,
  59.   propButton,
  60.   propAdd     : CARDINAL;
  61.  END (* RECORD *);
  62.  
  63.  Window = RECORD
  64.   nextWindow  : WindowPtr;
  65.   leftEdge,
  66.   topEdge,
  67.   width,
  68.   height      : CARDINAL;
  69.   flags       : WindowFlagSet;
  70.   title       : ARRAY [0..29] OF CHAR;
  71.   minWidth,
  72.   minHeight   : CARDINAL;
  73.  
  74.   (* ----- interne Variablen --------- *)
  75.   buffer      : ADDRESS;
  76.   bufferSize  : CARDINAL;
  77.   cursorPos   : CARDINAL;
  78.   frontPen    : CARDINAL;
  79.   backPen     : CARDINAL;
  80.   firstGadget : GadgetPtr;
  81.   firstMenu   : MenuPtr;
  82.   maxWindow   : BOOLEAN;
  83.   maxX,
  84.   maxY,
  85.   maxW,
  86.   maxH        : CARDINAL;
  87.   sysGadgets  : ARRAY [0..2] OF Gadget;
  88.  
  89.   reserved    : ARRAY [0..9] OF CARDINAL;
  90.  END (* RECORD *);
  91.  
  92.  Menu = RECORD
  93.   nextMenu     : MenuPtr;
  94.   leftEdge     : CARDINAL;
  95.   title        : ARRAY [0..19] OF CHAR;
  96.   info         : ARRAY [0..59] OF CHAR;
  97.   itemLeftEdge : CARDINAL;
  98.   itemWidth    : CARDINAL;
  99.   itemCount    : CARDINAL;
  100.   items        : ARRAY [0..19] OF ARRAY [0..29] OF CHAR;
  101.   flags        : ARRAY [0..19] OF ItemFlagSet;
  102.   help         : ARRAY [0..19] OF ARRAY [0..59] OF CHAR;
  103.  END (* RECORD *);
  104.  
  105.  SysMsg = RECORD
  106.   class          : SysMsgClassSet;
  107.   window         : WindowPtr;
  108.  
  109.   code,
  110.   scancode       : CARDINAL;
  111.  
  112.   gadget         : GadgetPtr;
  113.   gadgetID,
  114.   gadgetPos      : CARDINAL;
  115.   gadgetSelected : BOOLEAN;
  116.  
  117.   menuNum        : CARDINAL;
  118.   itemNum        : CARDINAL;
  119.  END (* RECORD *);
  120.  
  121.  TurboDOS = RECORD
  122.   (* ----- interne Variablen --------- *)
  123.   id                     : ARRAY [0..3] OF CHAR;
  124.   version                : CARDINAL;
  125.   active                 : BOOLEAN;
  126.  
  127.   (* ----- Ã¶ffentliche Variablen ----- *)
  128.   firstWindow            : WindowPtr;
  129.   message                : SysMsg;
  130.   help                   : ARRAY [0..79] OF CHAR;
  131.   buffer                 : ADDRESS;
  132.   videoWidth,
  133.   videoHeight,
  134.   videoMaxX,
  135.   videoMaxY,
  136.   videoBPR,
  137.   videoSize,
  138.   videoMode              : CARDINAL;
  139.   cursorPos              : CARDINAL;
  140.  
  141.   mouseX,
  142.   mouseY                 : CARDINAL;
  143.   mouseButtons           : MouseButtonSet;
  144.   mouseLock              : CARDINAL;
  145.   buttonCount            : CARDINAL;
  146.  
  147.   patternScreenBackgrnd,
  148.   patternWindowBackgrnd,
  149.  
  150.   colorScreenBackgrnd,
  151.   colorHelpBar,
  152.   colorMove,
  153.  
  154.   colorWindowBackgrnd,
  155.   colorAWindowBorders,
  156.   colorIWindowBorders,
  157.   colorWindowAPen,
  158.   colorWindowBPen,
  159.  
  160.   colorGadget,
  161.   colorGadgetSelected,
  162.   colorGadgetDisabled,
  163.  
  164.   colorMenuBar,
  165.   colorMenuEnabled,
  166.   colorMenuDisabled,
  167.   colorMenuSelected,
  168.   colorMenuBorder        : CARDINAL;
  169.  END (* RECORD *);
  170.  
  171. CONST
  172.  stdItem             = ItemFlagSet{};
  173.  bar                 = ItemFlagSet{menuBar};
  174.  check               = ItemFlagSet{checkit,checked};
  175.  
  176. VAR tdos : TurboDOSPtr;
  177.  
  178. (* ----- Graphics-Library -------------------- *)
  179.  
  180. PROCEDURE WriteText(a,x,y : CARDINAL;
  181.                     text  : STRING);
  182.  
  183. PROCEDURE Fill(attribut,
  184.                x,y,w,h,
  185.                zeichen   : CARDINAL);
  186.  
  187. PROCEDURE SetCursor(x,y : CARDINAL);
  188.  
  189. PROCEDURE RestoreCursor;
  190.  
  191. PROCEDURE CopyVideo2Buffer(buffer  : ADDRESS;
  192.                            x,y,w,h : CARDINAL);
  193.  
  194. PROCEDURE CopyBuffer2Video(buffer  : ADDRESS;
  195.                                x,y,w,h : CARDINAL);
  196.  
  197. PROCEDURE DrawX(farbe,x,y,l,zeichen : CARDINAL);
  198.  
  199. PROCEDURE DrawY(farbe,x,y,l,zeichen : CARDINAL);
  200.  
  201. (* ----- Mouse-Library ----------------------- *)
  202.  
  203. PROCEDURE MouseReset;
  204.  
  205. PROCEDURE MouseOn;
  206.  
  207. PROCEDURE MouseOff;
  208.  
  209. PROCEDURE GetMousePosition(VAR x,y : CARDINAL;
  210.                            VAR b   : MouseButtonSet);
  211.  
  212. (* ----- Display-Library --------------------- *)
  213.  
  214. PROCEDURE OpenScreen;
  215.  
  216. PROCEDURE CloseScreen;
  217.  
  218. PROCEDURE OpenWindow(titel   : ARRAY OF CHAR;
  219.                      x,y,w,h : CARDINAL;
  220.                      flgs    : WindowFlagSet;
  221.                      mw,mh   : CARDINAL) : WindowPtr;
  222.  
  223. PROCEDURE SetAPen(farbe : CARDINAL);
  224.  
  225. PROCEDURE SetBPen(farbe : CARDINAL);
  226.  
  227. PROCEDURE Move(x,y : CARDINAL);
  228.  
  229. PROCEDURE Text(text : ARRAY OF CHAR);
  230.  
  231. PROCEDURE ShowMenu(menu : MenuPtr);
  232.  
  233. PROCEDURE SystemManager;
  234.  
  235. PROCEDURE ShowHelp(t1,t2 : ARRAY OF CHAR);
  236.  
  237. PROCEDURE ShowGadget(gad : GadgetPtr);
  238.  
  239. PROCEDURE MoveWindow(x,y : CARDINAL);
  240.  
  241. PROCEDURE SizeWindow(w,h : CARDINAL);
  242.  
  243. PROCEDURE CloseWindow;
  244.  
  245. PROCEDURE CenterText(y    : CARDINAL;
  246.                      text : ARRAY OF CHAR);
  247.  
  248. PROCEDURE ModifyProp(gad     : GadgetPtr;
  249.                      pos,max : CARDINAL);
  250.  
  251. PROCEDURE LineH(x,y,l : CARDINAL);
  252.  
  253. PROCEDURE LineV(x,y,l : CARDINAL);
  254.  
  255. PROCEDURE Char(x,y,zeichen : CARDINAL);
  256.  
  257. PROCEDURE Box(x,y,w,h : CARDINAL);
  258.  
  259. PROCEDURE ExecuteApplication(name : ARRAY OF CHAR;
  260.                              args : ARRAY OF CHAR;
  261.                              dos  : BOOLEAN) : CARDINAL;
  262.  
  263. END TurboSys.
  264.  
  265.